Re-Selection of a Network Function Instance based on Data Consistency

ABSTRACT

The present invention faces the issues of re-selection of another NF Service instance (103, 201) for a subsequent request (S-520, S-535) with a same data consistency (Consistency 1) as a previously selected NF Service instance (101). To solve this issue, the present invention provides for identifying at configuration, based on the deployment and on the Storage solution for the Session/context data, which instances (101, 103, 201) of the same service type have access with strong consistency to the same data, and provide this information to the consumer (40), so it is allowed to prioritize selection of an alternative NF service instance that supports strong consistency, whenever possible.

TECHNICAL FIELD

The present invention generally relates to selection of a Network Function, NF, instance in a 5G network; and, more specifically, the invention relates to selection of an NF instance based on data consistency to optimize producer interchangeability.

BACKGROUND

The next generation (5G) networks architecture is defined in 3GPP TS 23.501 V15.5.0 and 3GPP TS 23.502 V15.5.0. A key aspect in which the 3GPP networks will differ starting from Release 15 is that the Core Network (CN) architecture is mostly built around the Service Based Architecture (SBA) paradigm. That is, there will be a network domain, basically the CN, in which the different functional components are defined as Services, which are self-contained functionalities that can be changed and modified in an isolated manner, without affecting the others.

The services in 5G CN will likely be built in a stateless way, i.e., the business logic and data context will be separated. This means that the services store their context externally in a proprietary DB. This will enable various cloud infrastructure features like auto-scaling or auto-healing.

3GPP TS 23.501 defines a Network Function (NF) as a 3GPP adopted or 3GPP defined processing function in a 5G network, which has defined functional behaviour and 3GPP defined interfaces. In particular, 3GPP TS 23.501 discloses in section 5.21 that NFs may be deployed in a virtualized environment. Apart from that, services will be deployed as part of a NF, and multiple NF instances may be deployed in a Set as disclosed in 3GPP TS 23.742 V16.0.0, as long as these instances have access to the same context data.

In this respect, 3GPP TS 29.510 V15.3.0 discloses an NF Repository Function (NRF) as a network entity in the 5G Core Network (5GC) supporting the following functionality: maintains the NF profile of available NF instances and their supported services; and supports service discovery function. It receives NF Discovery Requests from NF instances, and provides the information of the available NF instances fulfilling certain criteria (e.g., supporting a given service). To this end, the NFRegister service operation is used: to register an NF in the NRF by providing the NF profile of the requesting NF to the NRF, and the NRF marks the requesting NF as available to be discovered by other NFs; and to register services associated to an existing NF Instance. Moreover, the NFDiscover service operation discovers the set of NF Instances (and their associated NF Service Instances), represented by their NF Profile, that are currently registered in NRF and satisfy a number of input query parameters.

As illustrated in FIG. 1, one NF instance will be always supplied by a single vendor, including multiple services (as standardized by 3GPP). Each service may be instantiated in a pool and have access to a storage resource that may be shared by other services in the NF instance, but this is up to implementation and deployment, not standardized by 3GPP.

As illustrated in FIG. 2, one or multiple NF instances, in a same or different Data Center (DC), may be deployed in a same NF Set, what means that those instances provide the same business logic and have access to the same data. The access to the same data may be by different means, providing different levels of data consistency, e.g. if replication is required among locally deployed storage resources, this replication may be synchronous or asynchronous.

In order to have access to the same data, being this data not standardized, all the NF instances in an NF Set are by same vendor.

It could be possible as well that an NF instance spans multiple DCs as exemplary illustrated in FIG. 3.

Currently, there is an ongoing discussion in 3GPP that may consider the Service Set concept as well as a standard construct illustrated in FIG. 4. The main difference with FIG. 1 above is that in FIG. 4, the Service Set construct is standardized, while in FIG. 1 the internal pool of instances is managed internally to the NF instance.

As disclosed above, one or multiple NF instances, in a same or different DC (Data Center), may be deployed in the same NF Set, what means that those instances provide the same business logic and have access to the same data. The access to the same data may be by different means, providing different levels of data consistency, e.g. if replication is required among locally deployed storage resources, this replication may be synchronous or asynchronous.

There are two consistency models: weak and strong. If the technology/method used/implemented to access to the “same” data does not ensure strong consistency, this implies that different parallel processes can perceive variables in different states. In our case, this means that access to the “shared” data in two different NF instances may not have access to exactly the same data (the most up to date).

However, 3GPP TS 23.502 provides a definition of the NF Set as follows. NF Set: A group of interchangeable NF instances of the same type, supporting the same services and the same Network Slice(s). The NF instances in the same NF Set may be geographically distributed but have access to the same context data.

Apparently, the NF instances are “interchangeable”, to be understood as that a consumer could use any of them and get the same results, as it is described in another paragraph for re-selection.

The standard also discloses: If the end point address provided by a NF service producer points to a specific target NF producer, or NF service producer, instance within a NF Set, the NF consumer or SCP may re-select another service instance of the same NF service within the same NF service Set in that same NF instance, or another NF instance in the same NF Set for subsequent transaction, and get the same results as if the original selected NF service instance was used. Re-selecting may be needed if the requester NF fails to contact the original NF service instance.

This disclosure seems to consider that in case of re-selection of another NF Service instance for a subsequent request, the results will be the same as if the former NF Service instance was selected, even regardless whether the NF Set is distributed geographically.

However, this is only true if strong consistency could be ensured in the access to that shared data, what is not always the case, it depends on the consistency model supported by the DB technology.

Moreover, if the NF instances within an NF Set are distributed geographically, the distances among then could be high, in those cases, the possibility to access to different data “states” in different NF instances increases.

SUMMARY

The present invention is aimed to overcome these drawbacks and provides for a solution in accordance with the appended claims. That is, sending additional information to the Consumers and enhancing the Consumer logic so that the Consumers re-select another NF in an NF Set in a more optimal way. For example, the NF/service instances (of same type) within a Set that support strong consistency would be preferred to be selected by the consumer (or SCP) instead of NF/service instances that cannot provide data consistency, and by this it is warrantied that the consumer gets the same results.

For this, each producer service instance is provisioned in a way that enables the Consumer logic re-selecting a service instance that has strong consistency with the previous instance.

An advantage is that this proposal allows the consumer/SCP to prioritize selection of an alternative NF/service instance that supports strong consistency. If not possible, the consumer/SCP may select another NF/service instance, but the result may not be exactly the same (as if not reselected), then the consumer/SCP may even consider not reselecting in those cases (unless the former producer instance fails).

Another advantage is that some business logic (by a consumer) may only be supported as long as strong consistency is ensured; in those cases, this invention allows the consumer not re-selecting. This may be relevant to avoid corrupting data in some cases, if the consumer continues modifying data that was not fully consistent.

On the other hand, the invention may be practised by a computer program, the computer program being loadable into an internal memory of a computer with input and output units as well as with a processing unit, and comprising executable code adapted to carry out the above method steps. In particular, this executable code may be recorded in a carrier readable in the computer.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, objects and advantages of the invention will become apparent by reading this description in conjunction with the accompanying drawings, in which:

FIG. 1 represents a basic and exemplary construction of an NF instance.

FIG. 2 represents a basic and exemplary construction of an NF set with more than one NF instance.

FIG. 3 illustrates an NF instance spanning multiple DCs.

FIG. 4 represents a basic and exemplary construction of a service set with an NF instance.

FIG. 5 illustrates an exemplary sequence of actions carried out in a Consumer re-selection based on a consistency value of the producer instance, in accordance with an embodiment.

FIG. 6 illustrates an extract of FIG. 5 compiling data shown in step S-500 for VNF1 1, VNF2 2 and VNF3 3.

DETAILED DESCRIPTION

The following describes currently preferred embodiments wherein each service instance within an NF Set is identified with a new attribute, e.g. Consistency, that identifies whether this service instance has strong consistency with another instance, by having the same attribute value.

For the sake of simplicity and clarity, the following embodiment refers to an exemplary service type X instance 1, as illustrated in FIG. 5.

The sequence of actions illustrated in FIG. 5 assume an initial configuration not illustrated and discussed in the following.

There are three different virtualized NFs, VNFs, each one including a local Session DB, unique for the instances in the same VNF. In this respect, 3GPP TR 28.801 V15.1.0 (2018-01) defines a Network Function (NF): Network Function refers to processing functions in a network, wherein VNF is a virtualized version of a NF (refer to ETSI NFV for further details on VNF).

VNF1 includes multiple Service A instances that have access to the same data in the Storage Resource. Then, strong consistency is ensured, and then all the instances are configured with the same Consistency value, e.g. Consistency 1.

VNF2 includes only one Service A instance that has access to another local Storage Resource. This local resource is synchronously replicated with Storage resource in VNF 1. That is, strong consistency is ensured. Then, it has same consistency value, e.g. Consistency 1.

VNF3 includes only one Service A instance that has access to another local Storage Resource. This local resource is asynchronously replicated with rest of Storage resources in the example.

All service A instances are published externally as SBA services. Now, the sequence of actions illustrated in FIG. 5 are discussed in the following.

Action 1. Consumer service C sends an operation request to Service A (in VNF1), selected based on the information received at discovery, discussed above with reference to 3GPP TS 29.510 V15.3.0. It may even be randomly. As an alternative, the initial selection could consider for the selection of a service instance whether there are other instances with strong consistency with this one, these ones will be preferred, since re-selection will ensure that same result is achieved.

Action 2. Response from Service A.

Action 3. Consumer C performs re-selection with each request (what seems be considered by some operators as a possibility). Then, it checks what other Service A instance could be selected to ensure same results.

Action 4. All the service A instances with same Consistency 1 value ensure strong consistency, then in this case, consumer C chooses another service A instance in VNF1.

Action 5. Response from Service A.

Action 6. Consumer C performs re-selection, it checks what other Service A instance could be selected to ensure same results.

Action 7. All the service A instances with same Consistency 1 value ensure strong consistency, then in this case, consumer C chooses service A instance in VNF2.

Action 8. Response from Service A.

Action 9. Consumer C performs re-selection, it checks what other Service A instance could be selected to ensure same results. Let us assume in this example, VNF1 and VNF2 are down. Then, the consumer will select another instance of Service A, but it may not get the same results.

Action 10. Consumer C chooses service A instance in VNF3, with another consistency value, what indicates strong consistency can't be ensured.

Action 11. Response from Service A.

In the following there is disclosed another alternative on how to achieve the current proposal. It assumes that the data consistency information is embedded into an existing attribute that is available in the NF profile, say, the Locality information.

The Locality describes the location of NF instance (e.g. geographic location, data center), but it could be extended to optionally include also information about data consistency. An example is given below. Let us assume that there are three NFs in a DC but only two of them are interchangeable in a way that allows full data consistency, NF1 and NF2, while NF3 is not interchangeable with the other two in the same way. The Location attributes could then be defined such that NF3, which would not provide strong data consistency if re-selected after NF1 and NF2, is configured with a different Locality parameter, for example any one of: i) NF1 in DC1: Locality: DC1.C1; ii) NF2 in DC1: Locality: DC1.C1; and NF3 in DC1: Locality: DC1.C2.

If the Consumers are provisioned such that to prioritize the re-selection of the NF with the same Location attribute, then strong data consistency is favoured by using the existing NF/service registration and discovery mechanisms, which are discussed above with reference to 3GPP TS 29.510 V15.3.0.

The invention is described above in connection with various embodiments that are intended to be illustrative and non-restrictive. It is expected that those of ordinary skill in this art may modify these embodiments. The scope of the invention is defined by the claims in conjunction with the description and drawings, and all modifications that fall within the scope of the claims are intended to be included therein. 

1.-16. (canceled)
 17. A method for selection and reselection of a service instance in a network function (NF) instance based on data consistency, the method comprising: discovering, by a service consumer, two or more NF instances, wherein a first NF instance comprises a plurality of service instances for a service and respectively associated with a same first consistency indicator, and wherein a second NF instance comprises at least one service instance for the service and respectively associated with a second consistency indicator; transmitting, from the service consumer toward a selected first service instance of the plurality of service instances in the first NF instance, a service request; determining, at the service consumer, that a reselection of a further service instance is required; reselecting, at the service consumer, the further service instance as: a second service instance of the plurality of service instances for the service in the first NF instance, thus ensuring data consistency; or one of the at least one service instance for the service in the second NF instance, if the second consistency indicator matches the first consistency indicator, thus ensuring data consistency; or one of the at least one service instance for the service in the second NF instance, if the second consistency indicator is different from the first consistency indicator, thus not ensuring data consistency; and transmitting, from the service consumer toward the further service instance, a further service request.
 18. The method of claim 17, wherein each NF instance is configured with a respective storage resource, wherein the plurality of service instances for the service in the first NF instance is configured with access to a first storage resource, and wherein the at least one service instance for the service in the second NF instance is configured with access to a second storage resource.
 19. The method of claim 18, wherein the second storage resource in the second NF instance is synchronously replicated with the first storage resource and the second consistency indicator is configured matching the first consistency indicator to indicate a strong data consistency.
 20. The method of claim 18, wherein the second storage resource in the second NF instance is asynchronously replicated with the first storage resource and the second consistency indicator is configured different than the first consistency indicator to indicate a weak data consistency.
 21. The method of claim 17, wherein the first and second consistency indicators are based on locality information indicating where a service instance resides.
 22. The method of claim 21, wherein service instances with a same locality information are interchangeable at the service consumer with full data consistency.
 23. A system for selection and reselection of a service instance in a network function (NF) instance based on data consistency, the system comprising: two or more NF instances, wherein a first NF instance comprises a plurality of service instances for a service and respectively associated with a same first consistency indicator, and wherein a second NF instance comprises at least one service instance for the service and respectively associated with a second consistency indicator; and a service consumer configured to: discover the two or more NF instances, wherein the first NF instance comprises the plurality of service instances for the service and respectively associated with the same first consistency indicator, and wherein the second NF instance comprises the at least one service instance for the service and respectively associated with the second consistency indicator; transmit, toward a selected first service instance of the plurality of service instances in the first NF instance, a service request; determine that a reselection of a further service instance is required; reselect the further service instance as: a second service instance of the plurality of service instances for the service in the first NF instance, thus ensuring data consistency; or one of the at least one service instance for the service in the second NF instance, if the second consistency indicator matches the first consistency indicator, thus ensuring data consistency; or one of the at least one service instance for the service in the second NF instance, if the second consistency indicator is different from the first consistency indicator, thus not ensuring data consistency; and transmit, toward the further service instance, a further service request.
 24. The system of claim 23, wherein each NF instance is configured with a respective storage resource, wherein the plurality of service instances for the service in the first NF instance is configured with access to a first storage resource, and wherein the at least one service instance for the service in the second NF instance is configured with access to a second storage resource.
 25. The system of claim 24, wherein the second storage resource in the second NF instance is synchronously replicated with the first storage resource and the second consistency indicator is configured matching the first consistency indicator to indicate a strong data consistency.
 26. The system of claim 24, wherein the second storage resource in the second NF instance is asynchronously replicated with the first storage resource and the second consistency indicator is configured different than the first consistency indicator to indicate a weak data consistency.
 27. The system of claim 23, wherein the first and second consistency indicators are based on locality information indicating where a service instance resides.
 28. The system of claim 27, wherein service instances with a same locality information are interchangeable at the service consumer with full data consistency.
 29. A network node comprising a processor and memory, the memory comprising instructions which, when executed by the processor, enable the network node to implement a service consumer, whereby the network node is configured to: discover two or more network function (NF) instances, wherein a first NF instance comprises a plurality of service instances for a service and respectively associated with a same first consistency indicator, and wherein a second NF instance comprises at least one service instance for the service and respectively associated with a second consistency indicator; transmit, toward a selected first service instance of the plurality of service instances in the first NF instance, a service request; determine that a reselection of a further service instance is required; reselect the further service instance as: a second service instance of the plurality of service instances for the service in the first NF instance, thus ensuring data consistency; or one of the at least one service instance for the service in the second NF instance, if the second consistency indicator matches the first consistency indicator, thus ensuring data consistency; or one of the at least one service instance for the service in the second NF instance, if the second consistency indicator is different from the first consistency indicator, thus not ensuring data consistency; and transmit, toward the further service instance, a further service request.
 30. The network node of claim 29, wherein the first and second consistency indicators are based on locality information indicating where a service instance resides.
 31. The network node of claim 30, wherein service instances with a same locality information are interchangeable at the service consumer with full data consistency. 